package collection01;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 集合体系通用功能:
 * boolean add(Object e)
 *   确保此 collection 包含指定的元素（可选操作）。
 *   向集合中添加元素
 *
 *  int size()
 *           返回此 collection 中的元素数
 *      获取数组的长度,使用length属性,arr.length
 *      获取字符串的长度,使用String类中的length()方法, "abc".length()
 *      获取StringBuilder长度,使用StringBuilder类中的length()方法, new StringBuilder("abc").length();
 *      获取集合中元素的个数,使用集合的size()方法
 *  void clear()
 *           移除此 collection 中的所有元素（可选操作）。
 *            清空集合中的元素
 */
public class CollectionDemo01 {
    public static void main(String[] args) {
        //method01();
        //method02();
        Collection c = new ArrayList();
        c.add("abc");
        c.add("f");
        c.add("mhk");
        System.out.println(c);//[abc, f, mhk]
        c.clear();//清空集合中的元素
        System.out.println(c);//[]
    }

    private static void method02() {
        Collection c = new ArrayList(); //父接口指向实现类对象(多态)
        c.add(123); //Object e = 123
        //装箱 Object e = new Integer(123)
        c.add("abc");
        c.add(456);
        c.add("def");
        System.out.println(c.size());//获取的集合中已有的元素的个数
    }

    private static void method01() {
        Collection c = new ArrayList(); //父接口指向实现类对象(多态)
        c.add("abc");//Object e = "abc"; 父类引用指向子类对象 (多态)
        c.add("def");
        System.out.println(c);//[abc, def] 集合底层肯定重写toString()方法
        System.out.println(c.toString());
    }
}
